#include <iostream>
using namespace std;

class A
{
public:
	virtual void func1()
	{
		cout << "func1" << endl;
	}

	virtual void func2()
	{
		cout << "func2" << endl;
	}

	virtual void func3()
	{
		cout << "func3" << endl;
	}
};

class B : public A
{
public:
	virtual void func1()
	{
		cout << "~func1" << endl;
	}

	virtual void func2()
	{
		cout << "~func2" << endl;
	}

	virtual void func3()
	{
		cout << "~func3" << endl;
	}
};


int main()
{
	A a;
	B b1, b2;

	return 0;
}